草庐IT

Java Future - Spring Authentication 在 AuditorAware 中为空

全部标签

java - HashMap 中的 keySet 字段为空

我正在尝试使用keySet()方法遍历HashMap,如下所示:for(Stringkey:bundle.keySet()){Stringvalue=bundle.get(key);...}我在我的代码的其他部分对HashMaps使用了很多for-each循环,但这个是一个奇怪的行为:它的大小是7(这是正常的)但是keySet,entrySet和values为null(根据Eclipse调试器)!“bundle”变量被实例化并填充如下(没有原创......):MapprivVar;Constructor(){privVar=newHashMap();}publicvoidadd(Str

java - 检查一个对象是否与它的一个字段的值同时为空

哪些是正确的?if(dialog!=null&&dialog.isShowing){}if(dialog.isShowing&&dialog!=null){}if(dialog!=null){if(dialog.isShowing){}} 最佳答案 第一个和第三个都可以使用,因为它们不会通过null检查。第二个可能导致NullPointerException,因为它在您检查它是否为null之前引用了dialog。 关于java-检查一个对象是否与它的一个字段的值同时为空,我们在Stack

java - 从 map 中删除值为空可选的所有条目

我想从map中删除值为空可选的所有条目。似乎没有什么复杂的,但我正在努力寻找一个更好的解决方案。输入:我有以下map:Map>>attributesToCalculate=newHashMap();其中key-只是一个字符串和value-对返回Optional的方法的引用输出:结果,我想得到MapcalculatedAttributes(不包括值为空可选的条目)这是我的解决方案returnattributesToCalculate.entrySet().stream().map(entry->Pair.of(entry.getKey(),entry.getValue().apply(s

java - 比较两个对象,其中一个可能为空

我的一个类中有一个函数可以将自身与同一类的另一个实例进行比较-并找出哪些变量不同。这是为了最大限度地减少主数据库的网络负载(通过仅上传需要上传的数据,而不是上传整个对象)。为此,我一直在尝试利用object.equals()函数来比较两个对象。我很快发现object.equals()不处理null,在阅读thisquestion之后,我明白为什么。所以我的错误代码示例如下:publicclassMyObject{StringmyString;StringmyString2;publicStringgetChangedVars(MyObjectcomparisonObj){ArrayLi

java - 如何查看 int 数组中的元素是否为空?

例子:我想看看array[5]是否包含一个值或为空。 最佳答案 原始数组中的元素不能为空。它们总是会被初始化为某些东西(对于int数组通常是0,但这取决于您声明数组的方式)。如果您像这样声明数组(例如):int[]myArray;myArray=newint[7];那么所有元素都将默认为0。另一种声明数组的语法是int[]myArray={12,7,32,15,113,0,7};其中数组(在本例中大小为7)的初始值在花括号{}中给出。 关于java-如何查看int数组中的元素是否为空?,

java - 单元测试时静态元模型属性为空

我在外部包中有@Entity类,它也有静态元模型。在我的应用程序的服务类中,我使用这些元模型和EntityManager/CriteriaBuilder/CriteriaQuery来检索我的数据。这在运行应用程序时工作正常。但是,在运行单元测试时,我的元模型及其属性始终为空。代码...packagecom.example.core.entities;@Entity@Table(schema="lookup",name="BookingSystem")publicclassBookingSystemimplementsILookupEntity,IAuditEntity,Serializ

java - JPA DescriptorEventAdapter ChangeSet 始终为空

我正在尝试将更改跟踪器包含到我的JPA实体(到日志文件,而不是数据库),但是我的DescriptorEventAdapter返回的changeSet始终为空。我正在使用EclipseLink2.5.2、ojdbc6、spring-orm4.1.1。调用所有事件(包括preUpdateWithChanges)并将更改推送到数据库。我正在使用entityManager.merge(entity)来更新实体。HistoryEventListener.javapublicclassHistoryEventListenerextendsDescriptorEventAdapter{@Overri

java - Spring Security OAuth - 未为空资源配置提供者管理器

我正在尝试使用SpringSecruity的OAuthAPI从外部发布的API获取访问token。此curl命令有效(其内容是我获取访问token所需的全部内容):curl-XPOST\https://api.app.com/v1/oauth/token\-H'content-type:application/x-www-form-urlencoded'\-d'grant_type=client_credentials&client_id=bcfrtew123&client_secret=Y67493012'运行此curl命令后,我能够从外部服务获取访问token。当使用SpringS

java - Maven - 抑制 [WARNING] JAR 将为空 - 没有内容被标记为包含在 pom.xml 中

我的Maven项目有意只需要src/test/java和src/test/resources。删除src/main/*文件夹后,预期的警告出现在mvnverify上:[WARNING]JARwillbeempty-nocontentwasmarkedforinclusion![INFO]Buildingjar:D:\dev\java\my-project\target\my-project-0.0.1-SNAPSHOT.jar除了在src/main/java中有一个带有空main()方法的类之外,如何抑制这个警告?编辑:由于-q抑制了警告,如果这可以在pom.xml中以编程方式完成,后

java - 如果不为空 - java 8 风格

Java8提供了Optional类。之前(Java7):Orderorder=orderBean.getOrder(id);if(order!=null){order.setStatus(true);pm.persist(order);}else{logger.warning("Orderisnull");}所以在Java8风格上:Optionaloptional=Optional.ofNullable(orderBean.getOrder(id));optional.ifPresent(s->{s.setStatus(true);pm.persist(s);//Canwereturn